A virtual environment is a computer-simulated environment, whether that environment is a simulation of the real world or an imaginary world, where users can Interact with a virtual environment or virtual artifacts either through the use of standard input devices or specialized multidirectional devices. Virtual environments are used to describe a wide variety of applications commonly associated with its immersive, highly visual three-dimensional environments including 2D, 3D, Virtual Reality, Augmented Reality, and game environments. The development of Computer Aided Design (CAD) software, graphics hardware acceleration, head-mounted displays, database gloves, and miniaturization have helped popularize the notion.
Portable Device is a generic name that encapsulates general purpose devices that can be wearable such as smart watches and those that can he carried comfortably by the user like smart phones, tablets and mp4 players with Android or iOS systems, and dedicated devices. The portable devices mentioned that our invention makes use of contain front facing cameras.
Display is a generic name for devices also known as computer monitors (desktops and laptops) and televisions that remain in one position most of the time. The displays mentioned here either have an embedded camera or serve as mounts for camera peripherals/accessories.
Face detection is a technology that uses image processing algorithms to detect the face of the user with the common software already in mobile devices. Any other technology in hardware and software that achieves the same solution is also covered.
Video chat is referred to as the technology where users can talk to and see each other no matter the distance or time zones as a result of the real-time transmission of audio and video data over the internet.
UV coordinates is known as a normalized coordinate 2D system that represents all points of a texture or image from one of its corners to its opposite corner. This describes how the texture covers a 3D object in space.
Game objects are the core building block in virtual environments and serve as 2D or 3D elements, game characters such as avatars, or background rendering sprites or game cameras which render the virtual environment of the other game objects within the virtual environment from the game camera's perspective. Game objects can be controlled within 2D and 3D virtual environments via setting the position, rotation and scale of their transform. Game objects have at least a transform component attached (to represent position and orientation).
Additionally, a game object may contain other components which provide additional functionality such as rendering the graphics of the game object, rigid bodies, colliders, particles and audio are all examples of different components (or combinations of components) that can be added to any given game object.
A network refers to the network of the mobile device's transmission of the video which is operating within a networked environment using a communication connection to connect to one or more remote computers. The remote computer may include a mobile device such as a smartphone, personal computer (PC), server, router, network node, or the like. The communication connection may include a Local Area Network (LAN), a Wide Area Network (WAN), or other networks such as cellular networks commonly termed 3G and 4G.
An app refers to a self-contained program or piece of software designed to fulfil a particular purpose; an application, especially as downloaded by a user to a mobile device.
A gyroscope is commonly equipped on mobile devices to provide orientation by giving a 3D position of the devices rotation and orientation. A gyroscope is a sensor commonly equipped in mobile devices to detect orientation of the device by measuring the angular rotational velocity and rate of lateral and tilt change of the device.
An accelerometer is a sensor commonly equipped in mobile devices that measures the linear acceleration of movement relative to a frame of reference to sense orientation of the device.
A perspective correction is a process of straightening and leveling objects within a photograph or video frame. This is done by performing a perspective transformation to the image. The method herein performs the perspective correction based on the gyroscope's sensor's determination of the three dimensional position of the device's rotation compared to the user's designated correct rotation.
A perspective crop is performing a perspective correction and a crop of the image or video frame.
Perspective projection distortion is the inevitable distortion of three-dimensional space when projected onto a two-dimensional surface.
One or more embodiments described herein are developed to transmit over the network a video and optional audio feed containing a perspective cropped user's face which is displayed as 2D texture on a 2D or 3D game object within a virtual environment. The user's face is shown with a corrected perspective and only the face and head are shown within the video stream, no matter the relative position of the user's face in reference to the camera.
2D refers to two-dimensional and 3D refers to three-dimensional.